package com.baseweb.webadmin.core.model.bvo;

import com.baseweb.webadmin.core.model.pojo.ByUserBizAuth;
import com.baseweb.webadmin.core.model.pojo.ByUserWithdraw;
import com.baseweb.webadmin.core.model.pojo.ByUserWithdrawAccount;
import com.baseweb.webadmin.core.model.pojo.User;
import org.joda.time.DateTime;

import java.math.BigDecimal;

public class ByUserWithdrawBvo extends ByUserWithdraw{

    private Integer id;

    private Integer userId;

    private Integer accountId;

    private String descn;

    private BigDecimal amount;

    private DateTime createTime;

    private DateTime updateTime;

    private Integer status;

    private User user;

    private ByUserWithdrawAccount byUserWithdrawAccount;


    public static ByUserWithdrawBvo copyFrom(ByUserWithdraw byUserWithdraw, User user, ByUserWithdrawAccount byUserWithdrawAccount) {
        ByUserWithdrawBvo bvo = new ByUserWithdrawBvo();
        bvo.setId(byUserWithdraw.getId());
        bvo.setUserId(byUserWithdraw.getUserId());
        bvo.setAccountId(byUserWithdraw.getAccountId());
        bvo.setDescn(byUserWithdraw.getDescn());
        bvo.setAmount(byUserWithdraw.getAmount());
        bvo.setCreateTime(byUserWithdraw.getCreateTime());
        bvo.setUpdateTime(byUserWithdraw.getUpdateTime());
        bvo.setStatus(byUserWithdraw.getStatus());

        bvo.setUser(user);
        bvo.setByUserWithdrawAccount(byUserWithdrawAccount);
        return bvo;
    }

    @Override
    public Integer getId() {
        return id;
    }

    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    @Override
    public Integer getUserId() {
        return userId;
    }

    @Override
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getAccountId() {
        return accountId;
    }

    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    @Override
    public String getDescn() {
        return descn;
    }

    @Override
    public void setDescn(String descn) {
        this.descn = descn;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    @Override
    public DateTime getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(DateTime createTime) {
        this.createTime = createTime;
    }

    @Override
    public DateTime getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(DateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public Integer getStatus() {
        return status;
    }

    @Override
    public void setStatus(Integer status) {
        this.status = status;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public ByUserWithdrawAccount getByUserWithdrawAccount() {
        return byUserWithdrawAccount;
    }

    public void setByUserWithdrawAccount(ByUserWithdrawAccount byUserWithdrawAccount) {
        this.byUserWithdrawAccount = byUserWithdrawAccount;
    }
}
